using System;
using System.Collections.Generic;
using System.Text;

namespace Coriander.Google.Charting
{
    /// <summary>
    /// See: http://code.google.com/apis/chart/#line_styles
    /// </summary>
    public struct ChartLineStyle
    {
        public static readonly ChartLineStyle Normal = new ChartLineStyle(1, 1, 0);
        readonly Double thickness, segmentLength, blankSegmentlength;

        /// <summary>
        /// The thickness of the line
        /// </summary>
        public Double Thickness
        {
            get { return thickness; }
        } 

        /// <summary>
        /// Segment length for broken line
        /// </summary>
        public Double SegmentLength
        {
            get { return segmentLength; }
        } 

        /// <summary>
        /// Blank segment length for broken line. Set to zero for unbroken.
        /// </summary>
        public Double BlankSegmentlength
        {
            get { return blankSegmentlength; }
        } 

        /// <summary>
        /// ctor: Double, Double, Double
        /// </summary>
        /// <param name="thickness"></param>
        /// <param name="segmentLength"></param>
        /// <param name="blankSegmentlength"></param>
        public ChartLineStyle(
            Double thickness, 
            Double segmentLength, 
            Double blankSegmentlength
        ) 
        {
            this.thickness          = thickness;
            this.segmentLength      = segmentLength;
            this.blankSegmentlength = blankSegmentlength;  
        }
    }
}
